package com.BD;

import java.util.ArrayList;

import com.Tablas.Tabla_Canal;
import com.Tablas.Tabla_Consultas;
import com.Tablas.Tabla_Edad;
import com.Tablas.Tabla_Evento;
import com.Tablas.Tabla_Fechas;
import com.Tablas.Tabla_Promotor;
import com.Tablas.Tabla_PuntoVenta;
import com.Tablas.Tabla_Sexo;
import com.Tablas.Tabla_Ubigeo;
import com.Tablas.Tabla_Ventas;
import com.Tablas.Tabla_Zona;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class BD_SQLite extends SQLiteOpenHelper {
	
	private static final int DATABASE_VERSION = 1;	 
    // Database Name
    private static final String DATABASE_NAME = "DB_Reportes_v1"; 
    //NOMBRE DE LAS TABLAS
    
    private static final String TABLA_UBIGEO = "Ubigeo";
    private static final String TABLA_EDAD = "Edad";
    private static final String TABLA_ZONAS = "Tabla_Zonas";
    private static final String TABLA_EVENTOS = "Tabla_Eventos";
    private static final String TABLA_FECHA = "Tabla_Fecha";
    private static final String TABLA_VENTAS = "Tabla_Ventas";
    private static final String TABLA_CANAL = "Canal";
    private static final String TABLA_SEXO = "Sexo";
    private static final String TABLA_PROMOTOR = "Promotor";
    private static final String TABLA_PUNTO_DE_VENTA = "Punto_Venta";
    private static final String TABLA_CONSULTA = "Consulta";
    private static final String TABLA_ULTIMO_USO = "Ultimo_Uso";
    
    
    //NOMBRE DE LAS COLUMNAS TABLA EVENTOS
    private static final String KEY_idEvento = "idEvento";
    private static final String KEY_nomEvento = "nomevento";
    private static final String KEY_fecCreacion = "fecCreacion";
    private static final String KEY_fecRealizacion = "fecRealizacion";
    private static final String KEY_idTipoEvento = "idTipo";
    private static final String KEY_idSubtipoEvento = "idSubTipo";
    private static final String KEY_nomTipoEvento = "nombreTipo";
    private static final String KEY_nomSubtipoEvento = "nombreSubTipo";
    private static final String KEY_idEstadoEvento = "idEstadoEvento";
    private static final String KEY_nomEstadoEvento = "nomEstadoEvento";
    private static final String KEY_urlSubtipoEvento = "urlSubtipoEvento";
    private static final String KEY_urlEvento = "urlEvento";
    
    
    //COLUMNAS TABLA ZONAS
    private static final String KEY_idZona = "idZona";
    private static final String KEY_nomZona = "nombreZona";
    
    //COLUMNAS TABLA FECHAS
    private static final String KEY_idFecha = "idFecha";
    private static final String KEY_fecha = "fecha";
    private static final String KEY_anho = "anio";
    private static final String KEY_trimestre = "trimestre";
    private static final String KEY_mes = "mes";
    private static final String KEY_nomMes = "nomMes";
    private static final String KEY_quincena = "quincena";
    private static final String KEY_semana = "semana"; 
    private static final String KEY_dia = "dia";
    
    //COLUMNAS TABLA UBIGEO
    private static final String KEY_idUbigeo ="idubigeo";
    private static final String KEY_idDepartamento="iddepartamento";
    private static final String KEY_nomDepartamento="nomdepartamento";
    private static final String KEY_idProvincia="idprovincia";
    private static final String KEY_nomProvincia="nomprovincia";
    private static final String KEY_idDistrito="iddistrito";
    private static final String KEY_nomDistrito="nomdistrito";
    private static final String KEY_ubicacion ="ubicaion";
    
    //COLUMNAS TABLA EDAD
    private static final String KEY_idRango="idrango";
    private static final String KEY_nomRango="nomrango";

    //COLUMNAS TABLA CANAL
    private static final String KEY_idCanal="idcanal";
    private static final String KEY_nomCanal="nomcanal";

    //COLUMNAS TABLA SEXO 
    private static final String KEY_idsexo="idsexo";
    private static final String KEY_nomSexo="nomsexo";

    //COLUMNAS TABLA PROMOTOR
    private static final String KEY_idPromotor="idpromotor";
    private static final String KEY_razonSocial="razonsocial";

    //COLUMNAS TABLA Punto de Venta
    private static final String KEY_idPuntodeVenta="idpuntoventa";
    private static final String KEY_nombre="nombre";

    //COLUMNAS TABLA Consultas
    private static final String KEY_cantidad="cantidad";

    //COLUMNAS TABLA Ventas
    private static final String KEY_monto="monto";

    //COLUMNAS TABLA ULTIMO USO
    private static final String KEY_evento="evento";
    private static final String KEY_zonas="zonas";
    private static final String KEY_ubigeo="ubigeo";
    private static final String KEY_edad="edad";
    private static final String KEY_canal="canal";
    private static final String KEY_sexo="sexo";
    private static final String KEY_promotor="promotor";
    private static final String KEY_punto_de_venta="pto_venta";
    private static final String KEY_consultas="consultas";
    private static final String KEY_ventas="ventas"; 
    
    
	public BD_SQLite(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
		String CREATE_TABLA_EVENTO = "CREATE TABLE " + TABLA_EVENTOS + "("
    			+ KEY_idEvento + " INTEGER PRIMARY KEY,"
    			+ KEY_nomEvento  + " TEXT,"
    			+ KEY_fecCreacion  + " TEXT,"
    			+ KEY_fecRealizacion  + " TEXT,"
    			+ KEY_idTipoEvento  + " INTEGER,"
    			+ KEY_idSubtipoEvento  + " INTEGER,"
    			+ KEY_nomTipoEvento  + " TEXT,"
    			+ KEY_nomSubtipoEvento + " TEXT,"
    			+ KEY_idEstadoEvento  + " INTEGER,"
    			+ KEY_nomEstadoEvento  + " TEXT,"
    			+ KEY_urlSubtipoEvento+ " TEXT,"
    			+ KEY_urlEvento  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_EVENTO);
		
        String CREATE_TABLA_ZONA = "CREATE TABLE " + TABLA_ZONAS + "("
    			+ KEY_idZona + " INTEGER PRIMARY KEY,"
    			+ KEY_idEvento  + " INTEGER,"
    			+ KEY_nomZona  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_ZONA);
		
        String CREATE_TABLA_FECHA = "CREATE TABLE " + TABLA_FECHA + "("
    			+ KEY_idFecha + " INTEGER PRIMARY KEY,"
    			+ KEY_fecha  + " TEXT,"
    			+ KEY_anho  + " INTEGER,"
    			+ KEY_trimestre + " INTEGER,"
    			+ KEY_mes  + " INTEGER,"
    			+ KEY_nomMes  + " TEXT,"
    			+ KEY_quincena  + " INTEGER,"
    			+ KEY_semana  + " INTEGER,"
    			+ KEY_dia  + " INTEGER"
    			+ ")";
        db.execSQL(CREATE_TABLA_FECHA);
        
        String CREATE_TABLA_UBIGEO = "CREATE TABLE " + TABLA_UBIGEO + "("
    			+ KEY_idUbigeo + " INTEGER PRIMARY KEY,"
    			+ KEY_idDepartamento+ " INTEGER,"
    			+ KEY_nomDepartamento  + " TEXT,"
    			+ KEY_idProvincia + " INTEGER,"
    			+ KEY_nomProvincia  + " TEXT,"
    			+ KEY_idDistrito  + " INTEGER,"
    			+ KEY_nomDistrito  + " TEXT,"
    			+ KEY_ubicacion  + " TEXT"    			
    			+ ")";
        db.execSQL(CREATE_TABLA_UBIGEO);
        
        String CREATE_TABLA_EDAD = "CREATE TABLE " + TABLA_EDAD + "("
    			+ KEY_idRango + " INTEGER PRIMARY KEY,"
    			+ KEY_nomRango  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_EDAD);
        
        String CREATE_TABLA_CANAL = "CREATE TABLE " + TABLA_CANAL + "("
    			+ KEY_idCanal + " INTEGER PRIMARY KEY,"
    			+ KEY_nomCanal  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_CANAL);
        
        String CREATE_TABLA_SEXO = "CREATE TABLE " + TABLA_SEXO + "("
    			+ KEY_idsexo + " INTEGER PRIMARY KEY,"
    			+ KEY_nomSexo  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_SEXO);
        
              
        String CREATE_TABLA_PROMOTOR = "CREATE TABLE " + TABLA_PROMOTOR + "("
    			+ KEY_idPromotor + " INTEGER PRIMARY KEY,"
    			+ KEY_razonSocial  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_PROMOTOR);
        
        String CREATE_TABLA_PUNTO_DE_VENTA = "CREATE TABLE " + TABLA_PUNTO_DE_VENTA + "("
    			+ KEY_idPuntodeVenta + " INTEGER PRIMARY KEY,"
    			+ KEY_idUbigeo + " INTEGER,"
    			+ KEY_nombre  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_PUNTO_DE_VENTA);
        
        String CREATE_TABLA_CONSULTAS = "CREATE TABLE " + TABLA_CONSULTA + "("
    			+ KEY_idEvento + " INTEGER PRIMARY KEY,"
    			+ KEY_idCanal+ " INTEGER,"
    			+ KEY_idUbigeo + " INTEGER,"
    			+ KEY_idFecha  + " INTEGER,"
    			+ KEY_cantidad  + " INTEGER"
    			+ ")";
        db.execSQL(CREATE_TABLA_CONSULTAS);
        
        String CREATE_TABLA_VENTAS = "CREATE TABLE " + TABLA_VENTAS + "("
    			+ KEY_idEvento + " INTEGER,"
    			+ KEY_idPromotor  + " INTEGER,"
    			+ KEY_idCanal  + " INTEGER,"
    			+ KEY_idUbigeo  + " INTEGER,"
    			+ KEY_idRango + " INTEGER,"
    			+ KEY_idPuntodeVenta  + " INTEGER,"
    			+ KEY_idsexo  + " INTEGER,"
    			+ KEY_idFecha  + " INTEGER,"
    			+ KEY_idZona  + " INTEGER,"
    			+ KEY_cantidad  + " INTEGER,"
    			+ KEY_monto  + " REAL"
    			+ ")";
        db.execSQL(CREATE_TABLA_VENTAS);
		
		String CREATE_TABLA_ULTIMO_USO = "CREATE TABLE " + TABLA_ULTIMO_USO + "("
    			+ KEY_evento + " TEXT,"
    			+ KEY_zonas  + " TEXT,"
    			+ KEY_fecha  + " TEXT,"
    			+ KEY_ubigeo  + " TEXT,"
    			+ KEY_edad  + " TEXT,"
    			+ KEY_canal + " TEXT,"
    			+ KEY_sexo  + " TEXT,"
    			+ KEY_promotor+ " TEXT,"
    			+ KEY_punto_de_venta  + " TEXT,"
    			+ KEY_consultas  + " TEXT,"
    			+ KEY_ventas  + " TEXT"
    			+ ")";
        db.execSQL(CREATE_TABLA_ULTIMO_USO);
	}
	/*
	private void llenaTablaTipo() {
		// TODO Auto-generated method stub
		ArrayList<TablaTipo> tt = new ArrayList();
		TablaTipo t1 = new TablaTipo(1, "concierto");
		tt.add(t1);
		TablaTipo t2 = new TablaTipo(2, "teatro");
		tt.add(t2);
		TablaTipo t3 = new TablaTipo(3, "deportes");
		tt.add(t3);
		TablaTipo t4 = new TablaTipo(4, "cultural");
		tt.add(t4);
		TablaTipo t5 = new TablaTipo(5, "otros");
		tt.add(t5);
		
		for (int i = 0; i < tt.size(); i++){
        	this.addRegistroTT(tt.get(i));
		}
		            
	}*/

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

		// TODO Auto-generated method stub
		
	}
	
	public void addRegistroVentas(Tabla_Ventas tv){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , tv.getIdEvento()); 
        values.put(KEY_idPromotor  , tv.getIdPromoto()); 
        values.put(KEY_idCanal  , tv.getIdCanal());
        values.put(KEY_idUbigeo , tv.getIdubigeo());
        values.put(KEY_idRango , tv.getIdRango());
        values.put(KEY_idPuntodeVenta , tv.getIdPuntodeVenta());
        values.put(KEY_idsexo , tv.getIdsexo());
        values.put(KEY_idFecha , tv.getIdfecha());
        values.put(KEY_idZona , tv.getIdZona());
        values.put(KEY_cantidad, tv.getCantidad());
        values.put(KEY_monto , tv.getMonto());
        
        // Inserting Row
        db.insert(TABLA_VENTAS, null, values);
        db.close(); // Closing database connection 
      
               
    }
	
	public void addRegistroFechas(Tabla_Fechas tf){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idFecha , tf.getIdFecha()); 
        values.put(KEY_fecha  , tf.getFecha()); 
        values.put(KEY_anho  , tf.getAnho());
        values.put(KEY_trimestre , tf.getTrimestre());
        values.put(KEY_mes , tf.getMes());
        values.put(KEY_nomMes , tf.getNomMes());
        values.put(KEY_quincena , tf.getQuincena());
        values.put(KEY_semana , tf.getSemana());
        values.put(KEY_dia , tf.getDia());
        
        // Inserting Row
        db.insert(TABLA_FECHA, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroZona(Tabla_Zona tz){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idZona , tz.getIdZona()); 
        values.put(KEY_idEvento  , tz.getIdEvento()); 
        values.put(KEY_nomZona  , tz.getNomZona());      
        // Inserting Row
        db.insert(TABLA_ZONAS, null, values);
        db.close(); // Closing database connection        
	}
	
	public void addRegistroEvento(Tabla_Evento te){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , te.getIdEvento()); 
        values.put(KEY_nomEvento, te.getNomEvento());
        values.put(KEY_fecCreacion  , te.getFecCreacion()); 
        values.put(KEY_fecRealizacion  , te.getFecRealizacion());
        values.put(KEY_idTipoEvento, te.getIdTipoEvento());
        values.put(KEY_idSubtipoEvento, te.getIdSubTipoEvento());
        values.put(KEY_nomTipoEvento, te.getNomTipoEvento());
        values.put(KEY_nomSubtipoEvento, te.getNomSubTipoEvento());
        values.put(KEY_idEstadoEvento , te.getIdEstadoEvento());
        values.put(KEY_nomEstadoEvento , te.getNomEstadoEvento());
        values.put(KEY_urlSubtipoEvento, te.getUrlSubTipoEvento());
        values.put(KEY_urlEvento , te.getUrlEvento());
        
        // Inserting Row
        db.insert(TABLA_EVENTOS, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroUbigeo(Tabla_Ubigeo tu){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idUbigeo, tu.getIdUbigeo()); 
        values.put(KEY_idDepartamento, tu.getIdDepartamento());
        values.put(KEY_nomDepartamento, tu.getNomDepartamento()); 
        values.put(KEY_idProvincia, tu.getIdProvincia());
        values.put(KEY_nomProvincia, tu.getNomProvincia());
        values.put(KEY_idDistrito, tu.getIdDistrito());
        values.put(KEY_nomDistrito, tu.getNomDistrito());
        values.put(KEY_ubicacion, tu.getUbicacion());
        
        // Inserting Row
        db.insert(TABLA_UBIGEO, null, values);
        db.close(); // Closing database connection 
    }
	
	public void addRegistroConsultas(Tabla_Consultas tc){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento, tc.getIdEvento()); 
        values.put(KEY_idCanal, tc.getIdCanal());
        values.put(KEY_idUbigeo, tc.getIdUbigeo()); 
        values.put(KEY_idFecha, tc.getIdFecha());
        values.put(KEY_cantidad, tc.getCantidad());

        // Inserting Row
        db.insert(TABLA_CONSULTA, null, values);
        db.close(); // Closing database connection 
    }
	
	/*public void addRegistroUltimoUso(Tabla_UltimoUso tu){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_tipoevento , tu.getTipoEvento()); 
        values.put(KEY_subtipoevento  , tu.getSubTipoEvento()); 
        values.put(KEY_evento, tu.getEvento());
        values.put(KEY_zonas , tu.getZonas()); 
        values.put(KEY_fecha  , tu.getFecha()); 
        values.put(KEY_ubigeo, tu.getUbigeo());
        values.put(KEY_edad , tu.getEdad()); 
        values.put(KEY_canal  , tu.getCanal()); 
        values.put(KEY_sexo, tu.getSexo());
        values.put(KEY_medio_de_pago , tu.getMedioPago()); 
        values.put(KEY_promotor  , tu.getPromotor()); 
        values.put(KEY_punto_de_venta, tu.getPuntoVenta());
        values.put(KEY_consultas , tu.getConsultas()); 
        values.put(KEY_ventas  , tu.getVentas()); 
        
        // Inserting Row
        db.insert(TABLA_ULTIMO_USO, null, values);
        db.close();
	}*/
	public void addRegistroSexo(Tabla_Sexo se){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idsexo , se.getIdSexo()); 
        values.put(KEY_nomSexo  , se.getNomSexo()); 
             
        // Inserting Row
        db.insert(TABLA_SEXO, null, values);
        db.close();
	}
	public void addRegistroPuntodeVenta(Tabla_PuntoVenta tpv){
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idPuntodeVenta , tpv.getIdPuntoVenta()); 
        values.put(KEY_idUbigeo  , tpv.getIdUbigeo());
        values.put(KEY_nombre  , tpv.getNombre());
             
        // Inserting Row
        db.insert(TABLA_PUNTO_DE_VENTA, null, values);
        db.close();
	}
	
	public void addRegistroEdad(Tabla_Edad tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idRango , tv.getIdRango()); 
		values.put(KEY_nomRango , tv.getIdRango()); 

		// Inserting Row
		db.insert(TABLA_EDAD, null, values);
		db.close(); // Closing database connection 


		}
		public void addRegistroCanal(Tabla_Canal tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idCanal , tv.getIdCanal()); 
		values.put(KEY_nomCanal , tv.getNomCanal()); 

		// Inserting Row
		db.insert(TABLA_CANAL, null, values);
		db.close(); // Closing database connection 


		}
		
		public void addRegistroPromotor(Tabla_Promotor tv){
		SQLiteDatabase db = this.getWritableDatabase();	
		ContentValues values = new ContentValues();
		values.put(KEY_idPromotor , tv.getIdPromotor()); 
		values.put(KEY_razonSocial , tv.getRazonSocial()); 

		// Inserting Row
		db.insert(TABLA_PROMOTOR, null, values);
		db.close(); // Closing database connection 


		}
	/*
	public void addRegistroTT(TablaTipo tablaTipo) {
		// TODO Auto-generated method stub
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idTipo , tablaTipo.getIdTipo()); 
        values.put(KEY_nombreTipo  , tablaTipo.getNombre()); 
             
        // Inserting Row
        db.insert(TABLA_TIPO, null, values);
        db.close(); // Closing database connection
	}

	public void addRegistroTSB(TablaSubtipo tablaSubtipo) {//agrega a la tabla subtipo
		// TODO Auto-generated method stub
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idSubTipo , tablaSubtipo.getIdSubTipo()); 
        values.put(KEY_nombreSubtipo  , tablaSubtipo.getNombre()); 
        values.put(KEY_urlSubtipo, tablaSubtipo.getUrl());        
        // Inserting Row
        db.insert(TABLA_SUBTIPO, null, values);
        db.close(); // Closing database connection
	}*/

	public ArrayList<Tabla_Evento> getEventos(String idSubTipo) {
		ArrayList<Tabla_Evento> regEven = new ArrayList<Tabla_Evento>();
		if (idSubTipo.equals("all")){
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Eventos ", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	Tabla_Evento reg = new Tabla_Evento();
	            	reg.setIdEvento(cursor.getInt(0));
	            	reg.setNomEvento(cursor.getString(1));
	            	reg.setFecCreacion(cursor.getString(2));
	            	reg.setFecRealizacion(cursor.getString(3));
	            	reg.setIdEstadoEvento(cursor.getInt(4));
	            	reg.setNomEstadoEvento(cursor.getString(5));
	            	reg.setUrlEvento(cursor.getString(6));
	            	//reg.setIdsubtipo(cursor.getInt(7));
	            		            	
	                // Adding contact to list
	            	regEven.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return regEven;
		}else{
			SQLiteDatabase db = this.getReadableDatabase();
		    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Eventos WHERE idSubTipo = \""+idSubTipo+"\"", null);
	        if (cursor.moveToFirst()) {
	            do {
	            	Tabla_Evento reg = new Tabla_Evento();
	            	reg.setIdEvento(cursor.getInt(0));
	            	Log.d("idEvn",String.valueOf(cursor.getInt(0)));
	            	
	            	reg.setNomEvento(cursor.getString(1));
	            	Log.d("idnom",(cursor.getString(1)));
	            	
	            	reg.setFecCreacion(cursor.getString(2));	            	
	            	Log.d("idfe",(cursor.getString(2)));
	            	
	            	reg.setFecRealizacion(cursor.getString(3));
	            	Log.d("idfe",(cursor.getString(3)));
	            	
	            	reg.setIdEstadoEvento(cursor.getInt(4));
	            	Log.d("idest",(cursor.getString(4)));
	            	
	            	reg.setNomEstadoEvento(cursor.getString(5));
	            	Log.d("idnomest",(cursor.getString(5)));
	            	
	            	reg.setUrlEvento(cursor.getString(6));
	            	Log.d("idurl",(cursor.getString(6)));
	            	
	            	//reg.setIdsubtipo(cursor.getInt(7));
	            	Log.d("idsub",String.valueOf(cursor.getInt(7)));
	            	
	                // Adding contact to list
	            	regEven.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return regEven;
		}		
	    
	}
	
	public ArrayList<Tabla_Evento> getSubtiposDeunTipo(String idTipo) {
			SQLiteDatabase db = this.getReadableDatabase();
			ArrayList<Tabla_Evento> registerList = null;
			
		    Cursor cursor = db.rawQuery(" SELECT "+KEY_idSubtipoEvento+" FROM "+TABLA_EVENTOS+
		    		" WHERE "+KEY_idTipoEvento+" = \""+idTipo+"\" ", null);
	        
			if (cursor.moveToFirst()) {
	            do {
	            	Tabla_Evento reg = new Tabla_Evento();
	            	reg.setIdSubTipoEvento(cursor.getInt(0));
	            	
	                // Adding contact to list
	                registerList.add(reg);
	            } while (cursor.moveToNext());
	        }
	 
	        return registerList;
	}		
	    
	
	/*
	public ArrayList<TablaTipo> getTipos() {
	    SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT * FROM Tabla_Tipo ", null);
        
        if (cursor.moveToFirst()) {
            do {
            	TablaTipo reg = new TablaTipo();
               	reg.setIdTipo(cursor.getInt(0));
            	reg.setNombre(cursor.getString(1));
            	            	
                // Adding contact to list
            	registerList1.add(reg);
            } while (cursor.moveToNext());
        }
 
        return registerList1;
	}

	public void ActualizaTablaTipoXSubtipo(TablaSubtipo objSubTipo) {
		// TODO Auto-generated method stub
				SQLiteDatabase db = this.getWritableDatabase();		 
		        ContentValues values = new ContentValues();
		        values.put(KEY_idTipo , objSubTipo.getIdTipo()); 
		        values.put(KEY_idSubTipo  , objSubTipo.getIdSubTipo());
		        // Inserting Row
		        db.insert(TABLA_TIPO_X_SUBTIPO, null, values);
		        db.close(); // Closing database connection
	}*/

	public String returnFechaTablaVentas() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_ventas+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTVentas(Tabla_Ventas tabla_Ventas2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_cantidad , tabla_Ventas2.getCantidad()); 
        values.put(KEY_idCanal  , tabla_Ventas2.getIdCanal());
        values.put(KEY_idEvento  , tabla_Ventas2.getIdEvento());
        values.put(KEY_idFecha  , tabla_Ventas2.getIdfecha());
        values.put(KEY_idPromotor  , tabla_Ventas2.getIdPromoto());
        values.put(KEY_idPuntodeVenta  , tabla_Ventas2.getIdPuntodeVenta());
        values.put(KEY_idRango  , tabla_Ventas2.getIdRango());
        values.put(KEY_idsexo  , tabla_Ventas2.getIdsexo());
        values.put(KEY_idUbigeo  , tabla_Ventas2.getIdubigeo());
        values.put(KEY_idZona  , tabla_Ventas2.getIdZona());
        values.put(KEY_monto  , tabla_Ventas2.getMonto());
        // Inserting Row
        db.insert(TABLA_VENTAS, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaConsultas() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_consultas+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTConsultas(Tabla_Consultas tabla_Consultas) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , tabla_Consultas.getIdEvento()); 
        values.put(KEY_idCanal  , tabla_Consultas.getIdCanal());
        values.put(KEY_idUbigeo  , tabla_Consultas.getIdUbigeo());
        values.put(KEY_idFecha  , tabla_Consultas.getIdFecha());
        values.put(KEY_cantidad  , tabla_Consultas.getCantidad());
        
        // Inserting Row
        db.insert(TABLA_CONSULTA, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaPuntoVenta() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_punto_de_venta+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTPuntoVenta(Tabla_PuntoVenta tabla_PuntoVenta) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idPuntodeVenta , tabla_PuntoVenta.getIdPuntoVenta()); 
        values.put(KEY_idUbigeo  , tabla_PuntoVenta.getIdUbigeo());
        values.put(KEY_nombre  , tabla_PuntoVenta.getNombre());
                
        // Inserting Row
        db.insert(TABLA_PUNTO_DE_VENTA, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaPromotor() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_promotor+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTPromotor(Tabla_Promotor tabla_Promotor2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idPromotor , tabla_Promotor2.getIdPromotor()); 
        values.put(KEY_razonSocial  , tabla_Promotor2.getRazonSocial());
                
        // Inserting Row
        db.insert(TABLA_PROMOTOR, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaSexo() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_sexo+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTSexo(Tabla_Sexo tabla_Sexo2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idsexo , tabla_Sexo2.getIdSexo()); 
        values.put(KEY_nomSexo  , tabla_Sexo2.getNomSexo());
                
        // Inserting Row
        db.insert(TABLA_SEXO, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaCanal() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_canal+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTCanal(Tabla_Canal tabla_Canal2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idCanal , tabla_Canal2.getIdCanal()); 
        values.put(KEY_nomCanal  , tabla_Canal2.getNomCanal());
                
        // Inserting Row
        db.insert(TABLA_CANAL, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaUbigeo() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_ubigeo+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTUbigeo(Tabla_Ubigeo tabla_Ubigeo2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idUbigeo , tabla_Ubigeo2.getIdUbigeo()); 
        values.put(KEY_idDepartamento  , tabla_Ubigeo2.getIdDepartamento());
        values.put(KEY_nomDepartamento  , tabla_Ubigeo2.getNomDepartamento());
        values.put(KEY_idProvincia  , tabla_Ubigeo2.getIdProvincia());
        values.put(KEY_nomProvincia  , tabla_Ubigeo2.getNomProvincia());
        values.put(KEY_idDistrito  , tabla_Ubigeo2.getIdDistrito());
        values.put(KEY_ubicacion  , tabla_Ubigeo2.getUbicacion());
                
        // Inserting Row
        db.insert(TABLA_UBIGEO, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaFecha() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_fecha+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTFecha(Tabla_Fechas tabla_Fechas) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idFecha , tabla_Fechas.getIdFecha()); 
        values.put(KEY_fecha  , tabla_Fechas.getFecha());
        values.put(KEY_anho  , tabla_Fechas.getAnho());
        values.put(KEY_trimestre  , tabla_Fechas.getTrimestre());
        values.put(KEY_mes  , tabla_Fechas.getMes());
        values.put(KEY_nomMes  , tabla_Fechas.getNomMes());
        values.put(KEY_quincena  , tabla_Fechas.getQuincena());
        values.put(KEY_semana  , tabla_Fechas.getSemana());
        values.put(KEY_dia  , tabla_Fechas.getDia());
                
        // Inserting Row
        db.insert(TABLA_FECHA, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaZonas() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_zonas+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTZonas(Tabla_Zona tabla_Zona) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , tabla_Zona.getIdEvento()); 
        values.put(KEY_idZona , tabla_Zona.getIdZona());
        values.put(KEY_nomZona , tabla_Zona.getNomZona());
                        
        // Inserting Row
        db.insert(TABLA_ZONAS, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaEvento() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_evento+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTEvento(Tabla_Evento tabla_Evento) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idEvento , tabla_Evento.getIdEvento()); 
        values.put(KEY_nomEvento , tabla_Evento.getNomEvento());
        values.put(KEY_fecCreacion , tabla_Evento.getFecCreacion());
        values.put(KEY_fecRealizacion , tabla_Evento.getFecRealizacion());
        values.put(KEY_idTipoEvento , tabla_Evento.getIdTipoEvento());
        values.put(KEY_idSubtipoEvento , tabla_Evento.getIdSubTipoEvento());
        values.put(KEY_nomTipoEvento , tabla_Evento.getNomTipoEvento());
        values.put(KEY_nomSubtipoEvento , tabla_Evento.getNomSubTipoEvento());
        values.put(KEY_idEstadoEvento , tabla_Evento.getIdEstadoEvento());
        values.put(KEY_nomEstadoEvento , tabla_Evento.getNomEstadoEvento());
        values.put(KEY_urlSubtipoEvento , tabla_Evento.getUrlSubTipoEvento());
        values.put(KEY_urlEvento , tabla_Evento.getUrlEvento());
                        
        // Inserting Row
        db.insert(TABLA_EVENTOS, null, values);
        db.close(); // Closing database connection
		
	}

	public String returnFechaTablaEdad() {
		String fecha = null;
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT "+KEY_edad+" FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fecha;
	}

	public void addRegistroTEdad(Tabla_Edad tabla_Edad2) {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_idRango , tabla_Edad2.getIdRango()); 
        values.put(KEY_nomRango , tabla_Edad2.getNomRango());
                                
        // Inserting Row
        db.insert(TABLA_EDAD, null, values);
        db.close(); // Closing database connection
		
	}

	public ArrayList returnRegUltimoUso() {
		ArrayList<String> fechas = new ArrayList<String>();
		SQLiteDatabase db = this.getReadableDatabase();   
	    
	    Cursor cursor = db.rawQuery(" SELECT * FROM "+TABLA_ULTIMO_USO, null);
        
        if (cursor.moveToFirst()) {
            do {
            	String fecha = cursor.getString(0);
              
            } while (cursor.moveToNext());
        }
		return fechas;
	}

	public void llenaTablaUltimoUso() {
		SQLiteDatabase db = this.getWritableDatabase();		 
        ContentValues values = new ContentValues();
        values.put(KEY_evento , "1990-01-01"); 
        values.put(KEY_zonas , "1990-01-01");
        values.put(KEY_fecha , "1990-01-01");
        values.put(KEY_ubigeo , "1990-01-01");
        values.put(KEY_edad , "1990-01-01");
        values.put(KEY_canal , "1990-01-01");
        values.put(KEY_sexo , "1990-01-01");
        values.put(KEY_promotor , "1990-01-01");
        values.put(KEY_punto_de_venta , "1990-01-01");
        values.put(KEY_consultas , "1990-01-01");
        values.put(KEY_ventas , "1990-01-01");
                                
        // Inserting Row
        db.insert(TABLA_ULTIMO_USO, null, values);
        db.close(); // Closing database connection
		
	}

	public void registraFechaTVentas(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_ventas, string);
	    String fecha = returnFechaTablaVentas();
		db.update(TABLA_ULTIMO_USO, values, KEY_ventas + " = ?", 
				new String[] {fecha});
		db.close();		
	}

	public void registraFechaTConsultas(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_consultas, string);
	    String fecha = returnFechaTablaConsultas();
		db.update(TABLA_ULTIMO_USO, values, KEY_consultas + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTPuntoDeVenta(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_punto_de_venta, string);
	    String fecha = returnFechaTablaPuntoVenta();
		db.update(TABLA_ULTIMO_USO, values, KEY_punto_de_venta + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTPromotor(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_promotor, string);
	    String fecha = returnFechaTablaPromotor();
		db.update(TABLA_ULTIMO_USO, values, KEY_promotor + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTSexo(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_sexo, string);
	    String fecha = returnFechaTablaSexo();
		db.update(TABLA_ULTIMO_USO, values, KEY_sexo + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTCanal(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_canal, string);
	    String fecha = returnFechaTablaCanal();
		db.update(TABLA_ULTIMO_USO, values, KEY_canal + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTUbigeo(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_ubigeo, string);
	    String fecha = returnFechaTablaUbigeo();
		db.update(TABLA_ULTIMO_USO, values, KEY_ubigeo + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTFecha(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_fecha, string);
	    String fecha = returnFechaTablaFecha();
		db.update(TABLA_ULTIMO_USO, values, KEY_fecha + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTZonas(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_zonas, string);
	    String fecha = returnFechaTablaZonas();
		db.update(TABLA_ULTIMO_USO, values, KEY_zonas + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTEvento(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_evento, string);
	    String fecha = returnFechaTablaEvento();
		db.update(TABLA_ULTIMO_USO, values, KEY_evento + " = ?", 
				new String[] {fecha});
		db.close();
		
	}

	public void registraFechaTEdad(String string) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
	    values.put(KEY_edad, string);
	    String fecha = returnFechaTablaEdad();
		db.update(TABLA_ULTIMO_USO, values, KEY_edad + " = ?", 
				new String[] {fecha});
		db.close();
		
	}
	
	/*
	public void borraTablaTipo_x_Subtipo() {
		SQLiteDatabase db = this.getWritableDatabase();
		db.delete(TABLA_TIPO_X_SUBTIPO, null, null);
		// Cursor cursor = db.rawQuery(" DELETE * FROM "+TABLA_TIPO_X_SUBTIPO , null);
	}
	}*/
}
